Skip to content

Conversation

@jtnord
Copy link
Member

@jtnord jtnord commented Sep 2, 2025

Testing jenkinsci/jackson2-api-plugin#311

Testing done

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests that demonstrate the feature works or the issue is fixed

@jtnord jtnord added the full-test Test all LTS lines in this PR and do not halt upon first error. label Sep 2, 2025
@MarkEWaite
Copy link
Contributor

MarkEWaite commented Sep 2, 2025

@jtnord thanks very much for running this build. It shows a problem that is unrelated to this change but will affect this week's plugin BOM build.

The ci.jenkins.io agents that run these builds have now upgraded to command line git 2.51.0. That's a desirable change, but it shows a bug in git client plugin releases prior to 6.3.1. Prior to 6.3.1, the git client plugin assumes the "git whatchanged" command is available. Command line git 2.51.0 drops the "git whatchanged" command.

Git client plugin 6.3.0 and later require Jenkins 2.504.1. That means tests of the 2.492.x line are using a git client plugin version that does not support CLI git 2.51.0.

Alternatives that come to mind:

  • Drop support for the 2.492.x line from the plugin BOM. We're 6 weeks away from dropping that line in the usual cadence, so it is not too early to drop the line (this seems like the easiest option and is my preference)
  • Ask the infra team to switch the Jenkins agents back to CLI git 2.50.x instead of 2.51.0. They would need to reject the 2.51.0 upgrade until the 2.492.x line is dropped from the plugin BOM
  • Release a new version of the git client plugin that support Jenkins 2.492.x. That is more complicated than might be expected because the transition to 2.504.x was so that the git client plugin could rely on the plugin BOM for Apache Mina SSHD 2.16.0 and Apache Mina SSHD 2.16.0 is only available in plugin BOM 2.504.x and newer

There may be other options as well.

@basil or @darinpope do you have any alternative recommendations?

@basil
Copy link
Member

basil commented Sep 3, 2025

My preference is for a backport of jenkinsci/git-client-plugin#1327 to the 2.492.x line, since this affects production users as well.

@basil
Copy link
Member

basil commented Sep 3, 2025

@Dohbedoh
Copy link
Contributor

Dohbedoh commented Sep 3, 2025

Beware of github-api that might require a release to support jackson 2.20.0. See

MarkEWaite added a commit to MarkEWaite/gitlab-plugin that referenced this pull request Sep 3, 2025
Jackson API 2.20.0 removes the PropertyNamingStrategy.SNAKE_CASE symbol.
The replacement symbol is PropertyNamingStrategies.SNAKE_CASE.

Refer to BOM test failures in:

* jenkinsci/bom#5622

Testing done:

Confirmed it compiles with Jackson 2 API 2.20.0 incremental build and
with current Jackson 2 API 2.19.x.
MarkEWaite added a commit to MarkEWaite/gitlab-plugin that referenced this pull request Sep 3, 2025
Jackson API 2.20.0 removes the PropertyNamingStrategy.SNAKE_CASE symbol.
The replacement symbol is PropertyNamingStrategies.SNAKE_CASE.

Refer to BOM test failures in:

* jenkinsci/bom#5622

Testing done:

Confirmed it compiles with Jackson 2 API 2.20.0 incremental build and
with current Jackson 2 API 2.19.x.
krisstern added a commit to jenkinsci/gitlab-plugin that referenced this pull request Sep 6, 2025
Jackson API 2.20.0 removes the PropertyNamingStrategy.SNAKE_CASE symbol.
The replacement symbol is PropertyNamingStrategies.SNAKE_CASE.

Refer to BOM test failures in:

* jenkinsci/bom#5622

Testing done:

Confirmed it compiles with Jackson 2 API 2.20.0 incremental build and
with current Jackson 2 API 2.19.x.

Co-authored-by: Basil Crow <[email protected]>
Co-authored-by: Kris Stern <[email protected]>
@basil
Copy link
Member

basil commented Sep 8, 2025

@jtnord These plugins have been released and adopted in BOM:

The most recent PR build is passing except for a failure in org.jenkinsci.plugins.gitclient.GitClientTest#testSparseCheckoutWithCliGitLFS. That seems to be an infrastructure-related flake, as I cannot reproduce the failure locally.

As far as references to com.fasterxml.jackson.databind.PropertyNamingStrategy in jenkinsci are concerned, I see at least one in kubernetes-pipeline-plugin (known to be dead/non-functional) and one in tests for gerrit-code-review-plugin (so not a production issue, and not an issue for BOM or CloudBees CI). The latter only has 1,000 installations, so I don't feel strongly about proactively migrating it. Other usages exist but only in very low install counts.

From an open-source Jenkins perspective, I think jenkinsci/jackson2-api-plugin#311 is ready for merge/release.

@jtnord
Copy link
Member Author

jtnord commented Sep 9, 2025

From an open-source Jenkins perspective, I think jenkinsci/jackson2-api-plugin#311 is ready for merge/release.

Many thanks for the analysis and the reminder

@MarkEWaite
Copy link
Contributor

Closing this pull request because gitlab-api has been updated to handle Jackson 2.20.0. The updated version will be included in the next release of the plugin BOM.

Refer to JENKINS-76091 and its linked pull requests for more details.

@MarkEWaite MarkEWaite closed this Sep 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full-test Test all LTS lines in this PR and do not halt upon first error.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants